
#ifndef INFORMATIONMANAGER_H
#define INFORMATIONMANAGER_H

#include <BLabel>
#include <BTableWidget>
#include <BDialog>

#include "ClassMateWidget.h"

class InformationManager : public BDialog
{
	BOBJECT(InformationManager);
public:
	InformationManager(BWidget* parent = 0);
	~InformationManager();

protected:
	void slotAssetChanged(BWidget* sender, const BValue& value);

	void slotColorButtonClicked(BButton* button, const BValue& value);
	void slotRemoveActionTriggered(BAction* action, const BValue& value);
	void slotCheckBoxToggled(BAction* action, const BValue& value);

	void slotCurrentLabelClicked(BObject* object, const BValue& value);
	void slotTableWidgetScrolling(BObject* object, const BValue& value);
	void slotTableItemSelected(BObject* object, const BValue& value);
	void slotInfoWidgetEdited(BObject* object, const BValue& value);

protected:
	virtual void closeEvent(const BEvent& event);

private:
	BTableWidget*		_tableWidget;
	BLayoutHolder		_layout;
	ClassMateWidget*	_infoWidget;
	BLabelHolder		_currentLabel;
	BHolder<ClassMate>		_removedMate;

};

#endif
